Spring Boot CRUD Read İşlemi (PostgreSQL ile Veri Listeleme)

Bu rehberde Spring Boot CRUD operasyonlarından Read (veri okuma) işlemini nasıl gerçekleştirebileceğinizi adım adım öğreneceksiniz.

Projede Spring Boot, PostgreSQL ve Spring Data JPA kullanacağız. IDE olarak IntelliJ IDEA tercih ettik ancak Eclipse veya VS Code ile de aynı işlemleri yapabilirsiniz.

Kısa Özet: Bu yazıda Spring Boot ile veritabanından veri listeleme işlemini Model → Repository → Controller mimarisi ile nasıl gerçekleştireceğinizi öğreneceksiniz.

1. Spring Boot Projesi Oluşturma

Öncelikle Spring Boot projesini oluşturmak için Spring Initializr sitesini kullanıyoruz.

Proje oluştururken aşağıdaki ayarları yapın:

  • Maven Project
  • Java 8 veya Java 11
  • Spring Web
  • Spring Data JPA
  • PostgreSQL Driver

Ayarları yaptıktan sonra Generate butonuna tıklayarak projeyi indirip IDE içerisinde açabilirsiniz.


2. Spring Boot Proje Yapısı

Spring Boot uygulamalarında genellikle aşağıdaki katmanlı mimari kullanılır:

  • Model → Veritabanı tablolarını temsil eder
  • Repository → Veritabanı işlemlerini yönetir
  • Controller → API endpointlerini sağlar

3. Model (Entity) Oluşturma

İlk olarak model paketinde User entity sınıfını oluşturuyoruz.


package com.example.demo.model;

import javax.persistence.*;

@Entity
@Table(name = "users")

public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private Long id;

    private String name;
    private String email;

    public User(){}

    public Long getId(){
        return id;
    }

    public void setId(Long id){
        this.id = id;
    }

    public String getName(){
        return name;
    }

    public void setName(String name){
        this.name = name;
    }

    public String getEmail(){
        return email;
    }

    public void setEmail(String email){
        this.email = email;
    }
}
Not: Entity sınıfları veritabanı tablolarını temsil eder.

4. Repository Katmanı

Veritabanı işlemleri için UserRepository interface oluşturuyoruz.


package com.example.demo.repository;

import com.example.demo.model.User;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository

public interface UserRepository extends JpaRepository{

}

JpaRepository sayesinde aşağıdaki CRUD işlemleri hazır gelir:

  • save()
  • findAll()
  • findById()
  • deleteById()

5. Controller Katmanı

API endpoint oluşturmak için UserController sınıfını yazıyoruz.


package com.example.demo.controller;

import com.example.demo.model.User;
import com.example.demo.repository.UserRepository;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api")

public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("/listele")

    public List getAllUsers(){

        return userRepository.findAll();
    }

}

6. PostgreSQL Veritabanı Bağlantısı

application.properties dosyasına aşağıdaki ayarları ekleyin.


spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true

spring.datasource.url=jdbc:postgresql://localhost:5432/databaseAdi
spring.datasource.username=postgres
spring.datasource.password=sifre

7. API Test Etme

Uygulamayı çalıştırdıktan sonra aşağıdaki endpoint üzerinden verileri listeleyebilirsiniz.


http://localhost:8080/api/listele

Bu endpoint veritabanındaki tüm kullanıcıları JSON formatında döndürür.


Sonuç

Bu yazıda Spring Boot CRUD işlemlerinden Read operasyonunu adım adım gerçekleştirdik.

  • Spring Boot projesi oluşturduk
  • Entity sınıfı yazdık
  • Repository katmanı ekledik
  • Controller ile API endpoint oluşturduk
  • PostgreSQL bağlantısını yapılandırdık

Bir sonraki yazıda Spring Boot CRUD Create işlemini ele alacağız.

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Spring Boot ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *